<?php

  class Objet
  {

    private $id; //Identifiant unique pour chaque objet (chaine de caratere)
    private $type; //Type de l'objet (Arrosage, Stores, Eclairage, Chauffage)
    private $etat; //Booléen représentant l'état actuelle de l'élément (allumé ou éteint)
    private $emplacement; //Emplacement de l'objet
  
    public function __construct($id, $type, $emplacement)
    {
      $this->id = $id;
      $this->type = $type;
      $this->etat = false;
      $this->emplacement = $emplacement;
      echo "<p>" . $type . " " . $emplacement . " id=" . $id . "<p>";
    }

    public function __set($property, $value) // Interdiction de modifier id, type ainsi que l'emplacement de l'objet
    {
      if ($property === 'etat')
      {
	$etat = (bool) $value;
      }
    }
    
    public function __get($property)
    {
      if ($property === 'id')
      {
	return $this->id;
      }
      if ($property === 'type')
      {
	return $this->type;
      }
      if ($property === 'etat')
      {
	return $this->etat;
      }      
      if ($property === 'emplacement')
      {
	return $this->emplacement;
      }
    }

    public function switchState() // Inverse l'état de l'objet
    {
      $etat = !$etat;
    }
    

  }

    
